/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package modelo;

import java.io.Serializable;
import java.util.Date;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Embeddable;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;

/**
 *
 * @author Caps
 */
@Embeddable
public class CoordenadorCursoPK implements Serializable {
    @Basic(optional = false)
    @NotNull
    @Size(min = 1, max = 2147483647)
    @Column(name = "crs_cdgcoordenador")
    private String crsCdgcoordenador;
    @Basic(optional = false)
    @NotNull
    @Column(name = "pssfsc_cdgcoordenador")
    private int pssfscCdgcoordenador;
    @Basic(optional = false)
    @NotNull
    @Column(name = "crscrd_dtinicio")
    @Temporal(TemporalType.DATE)
    private Date crscrdDtinicio;
    @Basic(optional = false)
    @NotNull
    @Column(name = "crscrd_dttermino")
    @Temporal(TemporalType.DATE)
    private Date crscrdDttermino;

    public CoordenadorCursoPK() {
    }

    public CoordenadorCursoPK(String crsCdgcoordenador, int pssfscCdgcoordenador, Date crscrdDtinicio, Date crscrdDttermino) {
        this.crsCdgcoordenador = crsCdgcoordenador;
        this.pssfscCdgcoordenador = pssfscCdgcoordenador;
        this.crscrdDtinicio = crscrdDtinicio;
        this.crscrdDttermino = crscrdDttermino;
    }

    public String getCrsCdgcoordenador() {
        return crsCdgcoordenador;
    }

    public void setCrsCdgcoordenador(String crsCdgcoordenador) {
        this.crsCdgcoordenador = crsCdgcoordenador;
    }

    public int getPssfscCdgcoordenador() {
        return pssfscCdgcoordenador;
    }

    public void setPssfscCdgcoordenador(int pssfscCdgcoordenador) {
        this.pssfscCdgcoordenador = pssfscCdgcoordenador;
    }

    public Date getCrscrdDtinicio() {
        return crscrdDtinicio;
    }

    public void setCrscrdDtinicio(Date crscrdDtinicio) {
        this.crscrdDtinicio = crscrdDtinicio;
    }

    public Date getCrscrdDttermino() {
        return crscrdDttermino;
    }

    public void setCrscrdDttermino(Date crscrdDttermino) {
        this.crscrdDttermino = crscrdDttermino;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (crsCdgcoordenador != null ? crsCdgcoordenador.hashCode() : 0);
        hash += (int) pssfscCdgcoordenador;
        hash += (crscrdDtinicio != null ? crscrdDtinicio.hashCode() : 0);
        hash += (crscrdDttermino != null ? crscrdDttermino.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof CoordenadorCursoPK)) {
            return false;
        }
        CoordenadorCursoPK other = (CoordenadorCursoPK) object;
        if ((this.crsCdgcoordenador == null && other.crsCdgcoordenador != null) || (this.crsCdgcoordenador != null && !this.crsCdgcoordenador.equals(other.crsCdgcoordenador))) {
            return false;
        }
        if (this.pssfscCdgcoordenador != other.pssfscCdgcoordenador) {
            return false;
        }
        if ((this.crscrdDtinicio == null && other.crscrdDtinicio != null) || (this.crscrdDtinicio != null && !this.crscrdDtinicio.equals(other.crscrdDtinicio))) {
            return false;
        }
        if ((this.crscrdDttermino == null && other.crscrdDttermino != null) || (this.crscrdDttermino != null && !this.crscrdDttermino.equals(other.crscrdDttermino))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "modelo.CoordenadorCursoPK[ crsCdgcoordenador=" + crsCdgcoordenador + ", pssfscCdgcoordenador=" + pssfscCdgcoordenador + ", crscrdDtinicio=" + crscrdDtinicio + ", crscrdDttermino=" + crscrdDttermino + " ]";
    }
    
}
